76 WDT_A_hold(WDT_A_BASE);
91 GPIO_setAsPeripheralModuleFunctionOutputPin(
96 GPIO_setAsPeripheralModuleFunctionInputPin(
102 Timer_A_initCompareModeParam initCompParam = {0};
103 initCompParam.compareRegister = TIMER_A_CAPTURECOMPARE_REGISTER_1;
104 initCompParam.compareInterruptEnable = TIMER_A_CAPTURECOMPARE_INTERRUPT_DISABLE;
105 initCompParam.compareOutputMode = TIMER_A_OUTPUTMODE_RESET_SET;
106 initCompParam.compareValue = 0x8000;
107 Timer_A_initCompareMode(TIMER_A0_BASE, &initCompParam);
110 Timer_A_initUpDownModeParam initUpDownParam = {0};
111 initUpDownParam.clockSource = TIMER_A_CLOCKSOURCE_SMCLK;
112 initUpDownParam.clockSourceDivider = TIMER_A_CLOCKSOURCE_DIVIDER_1;
113 initUpDownParam.timerPeriod = 0xFFFE;
114 initUpDownParam.timerInterruptEnable_TAIE = TIMER_A_TAIE_INTERRUPT_DISABLE;
115 initUpDownParam.captureCompareInterruptEnable_CCR0_CCIE =
116 TIMER_A_CCIE_CCR0_INTERRUPT_DISABLE;
117 initUpDownParam.timerClear = TIMER_A_DO_CLEAR;
118 initUpDownParam.startTimer =
true;
119 Timer_A_initUpDownMode(TIMER_A0_BASE, &initUpDownParam);
128 ADC12_A_init(ADC12_A_BASE,
129 ADC12_A_SAMPLEHOLDSOURCE_3,
130 ADC12_A_CLOCKSOURCE_ADC12OSC,
131 ADC12_A_CLOCKDIVIDER_1);
133 ADC12_A_enable(ADC12_A_BASE);
140 ADC12_A_setupSamplingTimer(ADC12_A_BASE,
141 ADC12_A_CYCLEHOLD_128_CYCLES,
142 ADC12_A_CYCLEHOLD_4_CYCLES,
143 ADC12_A_MULTIPLESAMPLESENABLE);
154 ADC12_A_configureMemoryParam configureMemoryParam = {0};
155 configureMemoryParam.memoryBufferControlIndex = ADC12_A_MEMORY_0;
156 configureMemoryParam.inputSourceSelect = ADC12_A_INPUT_A0;
157 configureMemoryParam.positiveRefVoltageSourceSelect = ADC12_A_VREFPOS_AVCC;
158 configureMemoryParam.negativeRefVoltageSourceSelect = ADC12_A_VREFNEG_AVSS;
159 configureMemoryParam.endOfSequence = ADC12_A_NOTENDOFSEQUENCE;
160 ADC12_A_configureMemory(ADC12_A_BASE ,&configureMemoryParam);
169 ADC12_A_startConversion(ADC12_A_BASE,
171 ADC12_A_REPEATED_SINGLECHANNEL);
174 DMA_disableTransferDuringReadModifyWrite();
185 DMA_initParam initParam = {0};
186 initParam.channelSelect = DMA_CHANNEL_0;
187 initParam.transferModeSelect = DMA_TRANSFER_REPEATED_SINGLE;
188 initParam.transferSize = 1;
189 initParam.triggerSourceSelect = DMA_TRIGGERSOURCE_24;
190 initParam.transferUnitSelect = DMA_SIZE_SRCWORD_DSTWORD;
191 initParam.triggerTypeSelect = DMA_TRIGGER_RISINGEDGE;
192 DMA_init(&initParam);
198 DMA_setSrcAddress(DMA_CHANNEL_0,
199 ADC12_A_getMemoryAddressForDMA(ADC12_A_BASE,
201 DMA_DIRECTION_UNCHANGED);
207 DMA_setDstAddress(DMA_CHANNEL_0,
209 DMA_DIRECTION_INCREMENT);
212 DMA_clearInterrupt(DMA_CHANNEL_0);
213 DMA_enableInterrupt(DMA_CHANNEL_0);
216 DMA_enableTransfers(DMA_CHANNEL_0);
219 __bis_SR_register(LPM0_bits + GIE);
227 #if defined(__TI_COMPILER_VERSION__) || defined(__IAR_SYSTEMS_ICC__)
228 #pragma vector=DMA_VECTOR
230 #elif defined(__GNUC__)
231 __attribute__((interrupt(DMA_VECTOR)))
235 switch (__even_in_range(DMAIV,16)){
239 GPIO_toggleOutputOnPin(
GPIO_setOutputLowOnPin(GPIO_PORT_LED1|GPIO_PORT_LED2, GPIO_PIN_LED1|GPIO_PIN_LED2)